Routing devices within a network, often referred to as routers, maintain tables of routing information that describe available routes through the network. Upon receiving an incoming packet, the router examines information within the packet and forwards the packet in accordance with the routing information. In order to maintain an accurate representation of the network, routers exchange routing information in accordance with a defined routing protocol, such as the Border Gateway Protocol (BGP).
The term “link” is often used to refer to the connection between two devices on a network is generally referred to as a link. The link may be a physical connection such as a copper wire, a coaxial cable, any of a host of different fiber optic lines or a wireless connection. In addition, network devices may define “virtual” or “logical” links, and map the virtual links to the physical links. In other words, the use of virtual links provides a degree of abstraction.
As networks grow in size and complexity, the traffic on any given link (virtual or physical) may approach a maximum bandwidth capacity for the link, thereby leading to congestion and poor throughput. As congestion increases, a service provider may upgrade capacity on the link in order to avoid the congestion. For example, a service provider may upgrade the link with a larger capacity link upon the amount of traffic on the link exceeding a threshold, such as 70% of the maximum capacity. A link upgrade, however, is often a lengthy process, and in some situations the traffic may increase and reach the maximum capacity before the upgrade is complete. In these situations, traffic may be delayed or even dropped.
In order to avoid these problems, the service provider may attempt to traffic engineer a temporary fix to reroute at least a portion of the traffic from the congested link. One approach typically employed in an attempt to temporarily alleviate the congestion is to manually manipulate routing metrics associated with the link in hopes of causing at least some traffic to be routed around the link. Manipulating metrics associated with the link, however, often has unpredictable network-wide ramifications.